set $mod   Mod4
set $left  h
set $down  j
set $up    k
set $right l

# Autoload
exec mako

# Launcher:
bindsym $mod+Return exec dmenu_path | wofi --show run -I | xargs swaymsg exec --

# Aplications:
bindsym $mod+F1 exec kitty
bindsym $mod+F2 exec firefox
bindsym $mod+F3 exec telegram-desktop
bindsym $mod+F4 exec evince

# Screenshots
bindsym Print exec grim ~/Screenshots/screen-"$(date +%s)".png
bindsym $mod+Print exec grim -g "$(slurp)" ~/Screenshots/screen-"$(date +%s)".png

# Audio output:
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle

# Audio input:
bindsym $mod+F12 exec pactl set-source-volume @DEFAULT_SOURCE@ +5%
bindsym $mod+F11 exec pactl set-source-volume @DEFAULT_SOURCE@ -5%
bindsym $mod+F10 exec pactl set-source-mute @DEFAULT_SOURCE@ toggle

# Player
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

# Brightness:
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set 5%+

# Wallpaper:
output * {
  bg ~/Pictures/Wallpapers/Fantasy/60-604584_auroral-forest.jpg fill
}

# Keymap:
input * {
  xkb_layout us,ru
  xkb_options grp:win_space_toggle
}

# Input devices:
input type:touchpad {
  tap enabled
}

for_window [tiling] border pixel 2
#smart_borders on

# Basic key bindings:
bindsym $mod+Shift+q kill
floating_modifier $mod normal
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'Do you want to exit sway?' -b 'Yes!' 'swaymsg exit'

# Moving around:
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right

bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right

bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# Workspaces:
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10

bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10

# Layout stuff:
bindsym $mod+b splith
bindsym $mod+v splitv

bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+f fullscreen
bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent

# Floating windows
#for_window [app_id=".*"] floating enable
#for_window [app_id=".*"] border normal
#for_window [name="Double pendulum"] floating enable

# Scratchpad:
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show

# Resizing containers:
mode "resize" {
  bindsym $left resize shrink width 10px
  bindsym $down resize grow height 10px
  bindsym $up resize shrink height 10px
  bindsym $right resize grow width 10px
  bindsym Left resize shrink width 10px
  bindsym Down resize grow height 10px
  bindsym Up resize shrink height 10px
  bindsym Right resize grow width 10px

  bindsym Return mode "default"
  bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"

# Gaps:
gaps inner 5
#smart_gaps on

# Status Bar:
bar {
  swaybar_command waybar
}

include /etc/sway/config.d/*
